package com.smart.entity.business;


import com.baomidou.mybatisplus.annotation.TableName;
import com.smart.model.excel.annotation.ExcelField;
import com.smart.model.excel.annotation.ExcelFields;
import com.smart.mybatis.entity.BaseEntity;
import com.smart.mybatis.annotation.Column;
import com.smart.mybatis.enums.QueryType;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.FieldNameConstants;
import lombok.NoArgsConstructor;

/**
 * 点位配置
 *
 * @author wf
 * @since 2025-07-14 11:00:13
 */
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@FieldNameConstants
@TableName("point")
@ExcelFields({
        @ExcelField(title = "点位名称", attrName = "name",  align = ExcelField.Align.CENTER, sort = 1),
		@ExcelField(title = "所属公司", attrName = "companyName",  align = ExcelField.Align.CENTER, sort = 2),
		@ExcelField(title = "所属字典id", attrName = "id",  align = ExcelField.Align.CENTER, sort = 3),
        @ExcelField(title = "表号", attrName = "code",  align = ExcelField.Align.CENTER, sort = 4),
        @ExcelField(title = "能源类型", attrName = "meterTypeId",  align = ExcelField.Align.CENTER, sort = 5),
        @ExcelField(title = "状态", attrName = "status",  align = ExcelField.Align.CENTER, sort = 6),
		@ExcelField(title = "系数", attrName = "factor",  align = ExcelField.Align.CENTER, sort = 7),
        @ExcelField(title = "创建时间", attrName = "createDate",  align = ExcelField.Align.CENTER, sort = 9),
        @ExcelField(title = "更新时间", attrName = "updateDate",  align = ExcelField.Align.CENTER, sort = 10)
})
public class PointEntity extends BaseEntity {
	private static final long serialVersionUID = 1L;
	/**
	 * 所属采集器ID
	 */
    private Long collectorId;
	/**
	 * 点位名称
	 */
    @Column(name = "name", queryType = QueryType.LIKE)
    private String name;
	/**
	 * 所属公司
	 */
	@Column(name = "company_name")
	private String companyName;
	/**
	 * 表号
	 */
    @Column(name = "code", queryType = QueryType.EQ)
    private String code;
	/**
	 * 能源类型
	 */
    private String meterTypeId;
	/**
	 * 状态
	 */
    private String status;

	/**
	 * 是否禁用 0禁用 1启用
	 */
	@Column(name = "is_disable")
	private Integer isDisable;
    /**
     * 系数
     */
    private String factor;

}
